package com.prueba.client.interfaz.grillas;

import com.prueba.client.datosYlogica.GestorStakeholders;
import com.prueba.client.datosYlogica.GestorVistas;
import com.prueba.client.datosYlogica.vistas.Vista;
import com.smartgwt.client.types.Overflow;
import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.events.EditorExitEvent;
import com.smartgwt.client.widgets.grid.events.EditorExitHandler;

public class ListGridVistas extends ListGrid implements EditorExitHandler{
	
	public static ListGridVistas getInstance(){
		if (singleton==null){
			singleton=new ListGridVistas();
		}
		return singleton;
	}
	static private ListGridVistas singleton=null;
	
	private ListGridVistas(){
	   super();
	   //Parametros de la grilla     
	   //this.setCanEdit(true);              
	   //this.setCanDragResize(true);
	   this.setWidth100();  
	   this.setHeight100(); 
	   this.setOverflow(Overflow.AUTO);
	     
	    //Campos de la grilla
		    
       ListGridField nombre = new ListGridField("nombreVista", "Nombre");  
       ListGridField costo = new ListGridField("costo", "Costo");
       ListGridField nivelDeDetalle = new ListGridField("nivelDeDetalle", "Nivel de detalle");

       ListGridField tipo = new ListGridField("tipo","Tipo");
       tipo.setValueMap(Vista.TIPOS_VISTAS);
       tipo.setCanEdit(true);
       tipo.setDefaultValue(0);
       
       this.setFields(nombre,costo,nivelDeDetalle,tipo);  
	         
	   this.addEditorExitHandler(this);
	   
	    GestorVistas.getInstance().setListGrid(this);
	    this.setAutoFetchData(true); 

	}
	
	@Override
	public void onEditorExit(EditorExitEvent event) {
		
		if(event.getColNum()==3){
				
			GestorVistas.editarTipoVista(event.getRecord().getAttribute("nombreVista"), (String)event.getNewValue());
		
		}
		
		
		
	}	
}
